#ifndef PATIENTLISTWIDGET_H
#define PATIENTLISTWIDGET_H

#include <QWidget>

#include "../BaseWidgets/FramelessWidget.h"
#include "../../ServiceManager/LoadPatientList/PatientModel.h"
#include "PatientDelegate.h"
#include "../../DataManager/UserRepository/UserRepository.h"
#include <QListView>
#include <QMessageBox>
#include <QVBoxLayout>
#include "PatientManagerWidget_global.h"


namespace UserManagementSystem {

//患者列表窗口，用于从数据库读取患者信息
class PATIENTMANAGERWIDGET_EXPORT PatientListWidget : public QWidget
{
public:
    PatientListWidget(UserManagementSystem::UserRepository* repository,QWidget* parent=nullptr);

    //设置患者数据
private:

    ///@brief设置样式
    void SetDefaultStyle();

    ///@brief 设置默认布局
    void SetDefaultLayout();
private:
    ///@brief 一个主布局
    QVBoxLayout * m_mainLayout=nullptr;

    ///@brief 一个listview窗口作为子窗口挂载在该窗口上，model和deldegate给listview使用
    QListView * m_listView=nullptr;

    ///@brief 管理样式的的delegate
    UserManagementSystem::PatientDelegate* m_patientDelegate=nullptr;

    ///@brief 管理数据的model
    UserManagementSystem::PatientModel* m_patientModel=nullptr;

    ///@brief 用户数据
    UserManagementSystem::UserRepository* m_repority=nullptr;

};
}


#endif // PATIENTLISTWIDGET_H
